PowerTools CalendarGrid for Windows Forms 1.0J
フィールドオブジェクトによる書式設定 (CalendarGcMaskCellType)

概要

CalendarGcMaskCellTypeには、表示にInputManのGcMaskコントロールのフィールドオブジェクトのサブセットが提供されます。
CalendarGcMaskCellTypeでは、次の3種類のフィールドが用意されており、これらのフィールドオブジェクトを使って書式を設定することができます。

これらのフィールドオブジェクトをMaskFieldCollectionに追加するには、Addメソッドまたは、AddRangeメソッドを使用します。

次のサンプルコードは、CalendarGcMaskCellTypeに郵便番号書式を設定する例です。MaskFieldCollection.AddRangeメソッドを使用してMaskFieldCollectionにフィールドを追加しています。

Imports InputManCell = GrapeCity.Win.CalendarGrid.InputMan

Dim today As DateTime = DateTime.Today
Dim GcMaskCellType As New InputManCell.CalendarGcMaskCellType()
                                        
' フィールドオブジェクトを作成します。
Dim maskPatternField1 As InputManCell.MaskPatternField = New InputManCell.MaskPatternField("\D", 3, 3)
Dim maskLiteralField1 As InputManCell.MaskLiteralField = New InputManCell.MaskLiteralField()
Dim maskPatternField2 As InputManCell.MaskPatternField = New InputManCell.MaskPatternField("\D", 4, 4)
maskLiteralField1.Text = "-"

' フィールドをコレクションに追加してセルに書式を設定します。
GcMaskCellType.Fields.AddRange(New InputManCell.MaskField() {maskPatternField1, maskLiteralField1, maskPatternField2})

GcCalendarGrid1.Content(today).Rows(1).Cells(0).CellType = GcMaskCellType
GcCalendarGrid1.ScrollIntoView(today)                        
using InputManCell = GrapeCity.Win.CalendarGrid.InputMan;

var today = DateTime.Today;
var gcMaskCellType = new InputManCell.CalendarGcMaskCellType();

// フィールドオブジェクトを作成します。
InputManCell.MaskPatternField maskPatternField1 = new InputManCell.MaskPatternField("\\D", 3, 3);
InputManCell.MaskLiteralField maskLiteralField1 = new InputManCell.MaskLiteralField();
InputManCell.MaskPatternField maskPatternField2 = new InputManCell.MaskPatternField("\\D", 4, 4);
maskLiteralField1.Text = "-";

// フィールドをコレクションに追加してセルに書式を設定します。
gcMaskCellType.Fields.AddRange(new InputManCell.MaskField[] { maskPatternField1, maskLiteralField1, maskPatternField2 });

gcCalendarGrid1.Content[today].Rows[1].Cells[0].CellType = gcMaskCellType;
gcCalendarGrid1.ScrollIntoView(today);

フィールドオブジェクトをMaskFieldCollectionから削除するには、Removeメソッドまたは、RemoveAtメソッドを使用します。

注意
セルの設定を変更した場合、変更を反映させるためにテンプレートをCalendarGridに割り当てなおす必要があります。
               

次のサンプルコードは、MaskFieldCollectionの先頭のフィールドを削除する例です。

' コレクションの先頭のオブジェクトを削除します。
Dim GcMaskCellType As GrapeCity.Win.CalendarGrid.InputMan.CalendarGcMaskCellType = 
    DirectCast(GcCalendarGrid1(DateTime.Today)(1, 0).CellType, GrapeCity.Win.CalendarGrid.InputMan.CalendarGcMaskCellType)
GcMaskCellType.Fields.RemoveAt(0)
// コレクションの先頭のオブジェクトを削除します。
GrapeCity.Win.CalendarGrid.InputMan.CalendarGcMaskCellType gcMaskCellType = 
    (GrapeCity.Win.CalendarGrid.InputMan.CalendarGcMaskCellType)gcCalendarGrid1[DateTime.Today][1, 0].CellType;
gcMaskCellType.Fields.RemoveAt(0);


フィールドオブジェクト

ここでは、CalendarGcMaskCellTypeに設定可能な3種類のフィールドについて、すべてのフィールドに共通な設定項目と各フィールドに特化した設定項目にわけて解説します。

すべてのフィールドクラスに共通な設定

これらのプロパティは、CalendarGcMaskCellTypeで利用可能なすべてのフィールドオブジェクトに共通な設定項目です。

プロパティ 説明

BackColor

フィールド背景色を設定します。

Font

フィールドに表示される文字列のフォントを設定します。

ForeColor

フィールド背景色を設定します。

Margin

フィールド領域の外枠の距離を設定します。
セルの境界線からの距離や、他のフィールドとの間隔を設定する際に使用します。

Padding

フィールド領域からテキストの表示エリアまでの距離を設定します。

パターンフィールド (MaskPatternField)

パターンフィールドは、CalendarGcMaskCellTypeの最も特徴的な機能である入力マスクを設定するフィールドです。
パターンフィールドで最も重要なプロパティはPatternプロパティで、入力マスクを定義するためのキーワードを設定することができます。
プロパティ 説明

AutoConvert

Patternプロパティで設定された文字種に自動で変換するかどうか設定します。

MaxLength

Patternプロパティで設定されたキーワードを繰り返す最大文字数を設定します。

MinLength

Patternプロパティで設定されたキーワードを繰り返す最小文字数を設定します。

PasswordChar

フィールドをパスワード文字として表示するときの文字を設定します。

Pattern

入力マスクを定義する正規表現のキーワード(メタ文字)を設定します。

PromptChar

プロンプト文字を設定します。

UseSystemPasswordChar

パスワード文字をシステムで定義された文字で表示するかどうか設定します。

パターンフィールド (MaskPatternField)

パターンフィールドは、CalendarGcMaskCellTypeの最も特徴的な機能である入力マスクを設定するフィールドです。
パターンフィールドで最も重要なプロパティはPatternプロパティで、入力マスクを定義するためのキーワードを設定することができます。


Patternプロパティで使用可能な表現のタイプ

表現のタイプ 説明

8進数(ASCII)

ASCII文字を表現するときだけ使用します。「\040」のように、頭に0をつけて必ず3桁の数値で表現します。

16進数(ASCII)

ASCII文字を表現するときだけ使用します。「\x20」のように、\xに続いて必ず2桁の数値(頭に0を付ける)で表現します。

16進数(Unicode)

すべての文字を表現できます。「\u0020」のように、\uに続いて必ず4桁の数値(頭に0を付ける)で表現します。

キーワード

下表で説明するキーワード(メタ文字)です。

文字

キーワード以外の文字です。

Patternプロパティで使用可能なキーワー

1. 主要なキーワード
半角 全角 説明

\A

\A

大文字のアルファベットを表します。[A-Z]または[A-Z]と同等です。

\a

\a

小文字のアルファベットを表します。[a-z]または[a-z]と同等です。

\D

\D

数字を表します。[0-9]または[0-9]と同等です。

\B

\B

2進数を表します。[0-1]または[0-1]と同等です。

\X

\X

16進数を表します。[0-9A-Fa-f]または[0-9A-Fa-f]と同等です。

\W

\W

すべての英数字を表します。[a-zA-Z_0-9]または[a-zA-Z_0-9]と同等です。

\K

\K

カタカナ(促音・拗音の小書き表記あり)を表します。

\N

\N

カタカナ(促音・拗音の小書き表記なし)を表します。

\H

-

すべての半角文字を表します。

-

\J

ひらがな(促音・拗音の小書き表記あり)を表します。

-

\G

ひらがな(促音・拗音の小書き表記なし)を表します。

-

\Z

すべての全角文字を表します。

-

\T

サロゲート ペア文字を表します。

-

\I

JIS X 0208文字を表します。

-

\M

Shift JIS文字を表します。

-

\V

IVS(Ideographic Variation Sequence)文字を表します。

注意 
半角文字と全角文字は、その文字のShift-JISコードを使って識別されます。

2. 補助的なキーワード

メタ文字 説明

^

その後に続く文字グループの補集合をあらわします。

-

文字の範囲を指定します。

\(Chr(92))

キーワードをリテラル文字として表示

以下にパターンフィールドでの書式設定の例をあげます。

Patternプロパティ MaxLengthプロパティ MinLengthプロパティ 表示例 説明

\Z

0

50

あア漢1Aa

0文字以上、50文字以下のすべての全角を表します。

\D

3

5

1234

3文字以上、5文字以下のすべての半角数字を表します。

1-3,a-c,A-C

10

10

1234

10文字の1,2,3,a,b,c,A,B,Cを表します。

A-Z

0

65535

ABCDE

半角大文字アルファベットを表します。\Aと同等です。

H^a-z

0

65535

12ABアイウ

小文字のアルファベットを除くすべての半角文字を表します。

^\T

0

65535

あア漢1Aa

サロゲート ぺア文字を除くすべての文字を表します。

リテラルフィールド (MaskLiteralField)

リテラルフィールドは、セルに表示するリテラル文字を設定します。リテラルフィールド固有のプロパティは次のTextプロパティのみです。

列挙型フィールド (MaskEnumerationField)

列挙型フィールドは、設定された列挙体の項目から選択して文字列をセルに表示することができます。このフィールドには、列挙体で設定された文字列以外の文字は入力できません。
列挙体に設定された文字列を選択するには、セルのスピン機能によって順次表示させるか、列挙型フィールドにドロップダウンリストを表示してリストから選択することができます。
ドロップダウンリストはフィールド単位で表示されるため、1つのセルに複数の列挙体フィールドを設定すれば、複数のドロップダウンリストを持ったセルを作成することもできます。
プロパティ 説明

AutoConvert

Patternプロパティで設定された文字種に自動で変換するかどうか設定します。

AutoDropDown

フィールドにカレットが移動されたときに、自動でドロップダウンリストを表示するかどうか設定します。

DropDownEnabled

フィールドのドロップダウン機能を有効にするかどうか設定します。

Items

文字列の列挙体を設定します。

PromptChar

プロンプト文字を設定します。

SpinIncremnet

スピンによって列挙体を増減させる項目の数を設定します。


参照

 

 


© 2014 GrapeCity inc. All rights reserved.